
package com.insigma.business.qrcode.soldier._consumer;



import com.insigma.business.qrcode.common.template.BasePagingResponse;
import com.insigma.business.qrcode.common.vo.BaseDeleteRequest;
import com.insigma.business.qrcode.common.vo.BaseResponse;
import com.insigma.business.qrcode.soldier.dto.SoldierDTO;
import com.insigma.business.qrcode.soldier.dto.SoldierOuterLoginAccountDTO;
import com.insigma.business.qrcode.soldier.request.BaseApiRequest;
import com.insigma.business.qrcode.soldier.request.BaseGetRequest;
import com.insigma.business.qrcode.welfare.dto.SoldierUserInfoDTO;

import java.util.List;


public interface SoldierConsumer {

    BaseResponse<SoldierDTO> getSoldier(final BaseGetRequest baseGetRequest);

    BaseResponse<Integer> deleteSoldier(final BaseDeleteRequest deleteRequest);


    BaseResponse<SoldierUserInfoDTO> checkSshUserInfo(String soldierId);

    BaseResponse<List<SoldierUserInfoDTO>> querySoldierRelationshipList(String  soldierId);
    
    BaseResponse<SoldierUserInfoDTO> querySoldierDetail(String soldierId);

    BaseResponse<SoldierUserInfoDTO> getSoldierBasicInfoByQr(String qrString);

    
    BaseResponse<SoldierOuterLoginAccountDTO> getSoldierOuterLoginAccountBySoldierId(final String soldierId);

    
    BaseResponse<SoldierUserInfoDTO> checkLbmInfo(String userId);

    
    BaseResponse<Boolean> updateRealNameIfMobileExisted(String id, String mobile, String userName);

    
    SoldierOuterLoginAccountDTO getCachedOuterAccountBySoldierId(String soldierId);



    
    BaseResponse<Integer> updateBaseInfo(String soldierId, String name, String idCardNo, String isCert, String mobile);

    BaseResponse<SoldierUserInfoDTO> checkSshUserInfoOldQrString(String userId);
}
